Revisiting Actor Programming in C++

نویسندگان

  • Dominik Charousset
  • Raphael Hiesgen
  • Thomas C. Schmidt
چکیده

The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction makes it appealing for concurrent applications in parallel and distributed systems. However, designing a real-world actor framework that subsumes full scalability, strong reliability, and high resource efficiency requires many conceptual and algorithmic additives to the original model. In this paper, we report on designing and building CAF, the “C++ Actor Framework”. CAF targets at providing a concurrent and distributed native environment for scaling up to very large, highperformance applications, and equally well down to small constrained systems. We present the key specifications and design concepts—in particular a message-transparent architecture, type-safe message interfaces, and pattern matching facilities—that make native actors a viable approach for many robust, elastic, and highly distributed developments. We demonstrate the feasibility of CAF in three scenarios: first for elastic, upscaling environments, second for including heterogeneous hardware like GPGPUs, and third for distributed runtime systems. Extensive performance evaluations indicate ideal runtime behaviour for up to 64 cores at very low memory footprint, or in the presence of GPUs. In these tests, CAF continuously outperforms the competing actor environments Erlang, Charm++, SalsaLite, Scala, ActorFoundry, and even the OpenMPI.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Revisiting stochastic off-policy action-value gradients

Off-policy stochastic actor-critic methods rely on approximating the stochastic policy gradient in order to derive an optimal policy. One may also derive the optimal policy by approximating the action-value gradient. The use of action-value gradients is desirable as policy improvement occurs along the direction of steepest ascent. This has been studied extensively within the context of natural ...

متن کامل

Performance Analysis of a Simple Runtime System for Actor Programming in C++

In this paper, we propose the Templet – a runtime system for actor programming of high performance computing in C++. We provide a compact source code of the runtime system, which uses standard library of C++ 11 only. We demonstrate how it differs from the classic implementations of the actor model. The practical significance of the Templet was examined by comparative study on the performance of...

متن کامل

A Performance Analysis of Simple Runtime System for Actor Programming in C++

In this paper, we propose the Templet – a runtime system for actor programming of high performance computing in C++. We provide a compact source code of the runtime system, which uses standard library of C++ 11 only. We demonstrate how it differs from the classic implementations of the actor model. The practical significance of the Templet was examined by comparative study on the performance of...

متن کامل

Clap 1 :: Ann Object-orientedd Programmingg Systemm Forr Distributedd Memoryy Parallell Machines

The Agha and Hewitt Actor model [1, 13, 14] is a natural extension of the object paradigm as we know it to the field of parallel programming. The model respects the primary principles of object-oriented programming, i.e. abstraction of data and encapsulation, inheritance or delegation, communication via message-sending, modularity and homogeneity. However, it adds the principle of activity, i.e...

متن کامل

ACT + + 2 . 0 : A Class Library for Concurrent Programming in C + + Using Actors

ACT++ 2.0 is the most recent version of a class library for concurrent programming in C++. The underlying model of concurrent computation is the Actor model. Programs in ACT++ consist of a collection of active objects called actors. Actors execute concurrently and cooperate by sending request and reply messages. An agent, termed the behavior of an actor, is responsible for processing a single r...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Computer Languages, Systems & Structures

دوره 45  شماره 

صفحات  -

تاریخ انتشار 2016